// mock/user.js
import Mock from "mockjs";
var Random = Mock.Random;
var tokens = {
  admin: "admin-token",
  guest: "guest-token"
};
var users = {
  "admin-token": {
    id: 1,
    username: "\u7BA1\u7406\u5458",
    avatar: "https://placeholder.co/100",
    role: "admin",
    permissions: ["user:manage", "content:manage"],
    isLogin: true
  },
  "guest-token": {
    id: 2,
    username: "\u8BBF\u5BA2",
    avatar: "https://placeholder.co/100",
    role: "guest",
    permissions: [],
    isLogin: true
  }
};
var user_default = [
  {
    url: "/api/auth/login",
    method: "post",
    response: ({ body }) => {
      const { username } = typeof body === "string" ? JSON.parse(body) : body;
      console.log("Mock login received username:", username);
      const token = tokens[username];
      console.log("Generated token:", token);
      if (!token) {
        return {
          code: 401,
          message: "\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF"
        };
      }
      return {
        code: 200,
        data: {
          token,
          expires: 24 * 60 * 60 * 1e3
        },
        message: "\u767B\u5F55\u6210\u529F"
      };
    }
  },
  {
    url: "/api/user/:userId",
    method: "get",
    response: ({ params }) => {
      const { userId } = params;
      const userInfo = users[userId];
      console.log("Found userInfo:", userInfo);
      if (!userInfo) {
        return {
          code: 401,
          message: "\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25"
        };
      }
      return {
        code: 200,
        data: userInfo,
        message: "\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u6210\u529F"
      };
    }
  },
  {
    url: "/api/auth/logout",
    method: "post",
    response: () => {
      return {
        code: 200,
        message: "\u9000\u51FA\u767B\u5F55\u6210\u529F"
      };
    }
  },
  {
    url: "/api/user",
    method: "post",
    response: ({ body, headers }) => {
      const data = typeof body === "string" ? JSON.parse(body) : body;
      const { isRegister, username, password, email, userId, ...updateData } = data;
      if (isRegister) {
        const existingUser = Object.values(users).find((user) => user.username === username);
        if (existingUser) {
          return {
            code: "400",
            message: "\u7528\u6237\u540D\u5DF2\u5B58\u5728"
          };
        }
        const userId2 = Random.id();
        const newUser = {
          id: userId2,
          username,
          email: email || "",
          avatar: `https://placeholder.co/100`,
          role: "user",
          permissions: ["basic:access"],
          isLogin: false,
          // 初始状态为未登录
          nickname: "",
          phone: "",
          address: "",
          description: ""
        };
        users[userId2] = newUser;
        return {
          code: "200",
          data: {
            id: userId2,
            username,
            email: email || ""
            // 不返回token
          },
          message: "\u6CE8\u518C\u6210\u529F\uFF0C\u8BF7\u767B\u5F55"
        };
      } else {
        const authToken = headers["authorization"]?.split(" ")[1];
        if (!authToken || !users[authToken]) {
          return {
            code: "401",
            message: "\u672A\u6388\u6743"
          };
        }
        if (!userId) {
          return {
            code: "400",
            message: "\u7F3A\u5C11\u7528\u6237ID"
          };
        }
        const userToUpdate = Object.values(users).find((user) => user.id === userId);
        if (!userToUpdate) {
          return {
            code: "404",
            message: "\u7528\u6237\u4E0D\u5B58\u5728"
          };
        }
        Object.assign(userToUpdate, updateData);
        return {
          code: "200",
          data: userToUpdate,
          message: "\u66F4\u65B0\u6210\u529F"
        };
      }
    }
  }
];
export {
  user_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibW9jay91c2VyLmpzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX2luamVjdGVkX2ZpbGVuYW1lX18gPSBcIkQ6XFxcXElUUGxhdGZvcm1cXFxcaXQtdGVjaG5vbG9neS1leGNoYW5nZVxcXFxtb2NrXFxcXHVzZXIuanNcIjtjb25zdCBfX2luamVjdGVkX2Rpcm5hbWVfXyA9IFwiRDpcXFxcSVRQbGF0Zm9ybVxcXFxpdC10ZWNobm9sb2d5LWV4Y2hhbmdlXFxcXG1vY2tcIjtjb25zdCBfX2luamVjdGVkX2ltcG9ydF9tZXRhX3VybF9fID0gXCJmaWxlOi8vL0Q6L0lUUGxhdGZvcm0vaXQtdGVjaG5vbG9neS1leGNoYW5nZS9tb2NrL3VzZXIuanNcIjtpbXBvcnQgTW9jayBmcm9tIFwibW9ja2pzXCI7XHJcblxyXG5jb25zdCBSYW5kb20gPSBNb2NrLlJhbmRvbTtcclxuY29uc3QgdG9rZW5zID0ge1xyXG4gIGFkbWluOiBcImFkbWluLXRva2VuXCIsXHJcbiAgZ3Vlc3Q6IFwiZ3Vlc3QtdG9rZW5cIixcclxufTtcclxuXHJcbmNvbnN0IHVzZXJzID0ge1xyXG4gIFwiYWRtaW4tdG9rZW5cIjoge1xyXG4gICAgaWQ6IDEsXHJcbiAgICB1c2VybmFtZTogXCJcdTdCQTFcdTc0MDZcdTU0NThcIixcclxuICAgIGF2YXRhcjogXCJodHRwczovL3BsYWNlaG9sZGVyLmNvLzEwMFwiLFxyXG4gICAgcm9sZTogXCJhZG1pblwiLFxyXG4gICAgcGVybWlzc2lvbnM6IFtcInVzZXI6bWFuYWdlXCIsIFwiY29udGVudDptYW5hZ2VcIl0sXHJcbiAgICBpc0xvZ2luOiB0cnVlLFxyXG4gIH0sXHJcbiAgXCJndWVzdC10b2tlblwiOiB7XHJcbiAgICBpZDogMixcclxuICAgIHVzZXJuYW1lOiBcIlx1OEJCRlx1NUJBMlwiLFxyXG4gICAgYXZhdGFyOiBcImh0dHBzOi8vcGxhY2Vob2xkZXIuY28vMTAwXCIsXHJcbiAgICByb2xlOiBcImd1ZXN0XCIsXHJcbiAgICBwZXJtaXNzaW9uczogW10sXHJcbiAgICBpc0xvZ2luOiB0cnVlLFxyXG4gIH0sXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBbXHJcbiAge1xyXG4gICAgdXJsOiBcIi9hcGkvYXV0aC9sb2dpblwiLFxyXG4gICAgbWV0aG9kOiBcInBvc3RcIixcclxuICAgIHJlc3BvbnNlOiAoeyBib2R5IH0pID0+IHtcclxuICAgICAgY29uc3QgeyB1c2VybmFtZSB9ID0gdHlwZW9mIGJvZHkgPT09IFwic3RyaW5nXCIgPyBKU09OLnBhcnNlKGJvZHkpIDogYm9keTtcclxuICAgICAgY29uc29sZS5sb2coXCJNb2NrIGxvZ2luIHJlY2VpdmVkIHVzZXJuYW1lOlwiLCB1c2VybmFtZSk7XHJcblxyXG4gICAgICBjb25zdCB0b2tlbiA9IHRva2Vuc1t1c2VybmFtZV07XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiR2VuZXJhdGVkIHRva2VuOlwiLCB0b2tlbik7XHJcblxyXG4gICAgICBpZiAoIXRva2VuKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGNvZGU6IDQwMSxcclxuICAgICAgICAgIG1lc3NhZ2U6IFwiXHU3NTI4XHU2MjM3XHU1NDBEXHU2MjE2XHU1QkM2XHU3ODAxXHU5NTE5XHU4QkVGXCIsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBjb2RlOiAyMDAsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgdG9rZW4sXHJcbiAgICAgICAgICBleHBpcmVzOiAyNCAqIDYwICogNjAgKiAxMDAwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWVzc2FnZTogXCJcdTc2N0JcdTVGNTVcdTYyMTBcdTUyOUZcIixcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgfSxcclxuICB7XHJcbiAgICB1cmw6IFwiL2FwaS91c2VyLzp1c2VySWRcIixcclxuICAgIG1ldGhvZDogXCJnZXRcIixcclxuICAgIHJlc3BvbnNlOiAoeyBwYXJhbXMgfSkgPT4ge1xyXG4gICAgICBjb25zdCB7IHVzZXJJZCB9ID0gcGFyYW1zO1xyXG4gICAgICBjb25zdCB1c2VySW5mbyA9IHVzZXJzW3VzZXJJZF07XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiRm91bmQgdXNlckluZm86XCIsIHVzZXJJbmZvKTtcclxuXHJcbiAgICAgIGlmICghdXNlckluZm8pIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgY29kZTogNDAxLFxyXG4gICAgICAgICAgbWVzc2FnZTogXCJcdTgzQjdcdTUzRDZcdTc1MjhcdTYyMzdcdTRGRTFcdTYwNkZcdTU5MzFcdThEMjVcIixcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGNvZGU6IDIwMCxcclxuICAgICAgICBkYXRhOiB1c2VySW5mbyxcclxuICAgICAgICBtZXNzYWdlOiBcIlx1ODNCN1x1NTNENlx1NzUyOFx1NjIzN1x1NEZFMVx1NjA2Rlx1NjIxMFx1NTI5RlwiLFxyXG4gICAgICB9O1xyXG4gICAgfSxcclxuICB9LFxyXG4gIHtcclxuICAgIHVybDogXCIvYXBpL2F1dGgvbG9nb3V0XCIsXHJcbiAgICBtZXRob2Q6IFwicG9zdFwiLFxyXG4gICAgcmVzcG9uc2U6ICgpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBjb2RlOiAyMDAsXHJcbiAgICAgICAgbWVzc2FnZTogXCJcdTkwMDBcdTUxRkFcdTc2N0JcdTVGNTVcdTYyMTBcdTUyOUZcIixcclxuICAgICAgfTtcclxuICAgIH0sXHJcbiAgfSxcclxuICB7XHJcbiAgICB1cmw6ICcvYXBpL3VzZXInLFxyXG4gICAgbWV0aG9kOiAncG9zdCcsXHJcbiAgICByZXNwb25zZTogKHsgYm9keSwgaGVhZGVycyB9KSA9PiB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGJvZHkpIDogYm9keTtcclxuICAgICAgY29uc3QgeyBpc1JlZ2lzdGVyLCB1c2VybmFtZSwgcGFzc3dvcmQsIGVtYWlsLCB1c2VySWQsIC4uLnVwZGF0ZURhdGEgfSA9IGRhdGE7XHJcbiAgICAgIFxyXG4gICAgICBpZiAoaXNSZWdpc3Rlcikge1xyXG4gICAgICAgIC8vIFx1NkNFOFx1NTE4Q1x1NjRDRFx1NEY1Q1xyXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nVXNlciA9IE9iamVjdC52YWx1ZXModXNlcnMpLmZpbmQodXNlciA9PiB1c2VyLnVzZXJuYW1lID09PSB1c2VybmFtZSk7XHJcbiAgICAgICAgaWYgKGV4aXN0aW5nVXNlcikge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgY29kZTogJzQwMCcsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdcdTc1MjhcdTYyMzdcdTU0MERcdTVERjJcdTVCNThcdTU3MjgnXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gXHU1MjFCXHU1RUZBXHU2NUIwXHU3NTI4XHU2MjM3XHJcbiAgICAgICAgY29uc3QgdXNlcklkID0gUmFuZG9tLmlkKCk7XHJcbiAgICAgICAgY29uc3QgbmV3VXNlciA9IHtcclxuICAgICAgICAgIGlkOiB1c2VySWQsXHJcbiAgICAgICAgICB1c2VybmFtZSxcclxuICAgICAgICAgIGVtYWlsOiBlbWFpbCB8fCAnJyxcclxuICAgICAgICAgIGF2YXRhcjogYGh0dHBzOi8vcGxhY2Vob2xkZXIuY28vMTAwYCxcclxuICAgICAgICAgIHJvbGU6ICd1c2VyJyxcclxuICAgICAgICAgIHBlcm1pc3Npb25zOiBbJ2Jhc2ljOmFjY2VzcyddLFxyXG4gICAgICAgICAgaXNMb2dpbjogZmFsc2UsIC8vIFx1NTIxRFx1NTlDQlx1NzJCNlx1NjAwMVx1NEUzQVx1NjcyQVx1NzY3Qlx1NUY1NVxyXG4gICAgICAgICAgbmlja25hbWU6ICcnLFxyXG4gICAgICAgICAgcGhvbmU6ICcnLFxyXG4gICAgICAgICAgYWRkcmVzczogJycsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJydcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyBcdTRGRERcdTVCNThcdTc1MjhcdTYyMzdcdTRGRTFcdTYwNkZcdUZGMENcdTRGNDZcdTRFMERcdTc1MUZcdTYyMTB0b2tlblxyXG4gICAgICAgIHVzZXJzW3VzZXJJZF0gPSBuZXdVc2VyO1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgY29kZTogJzIwMCcsXHJcbiAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGlkOiB1c2VySWQsXHJcbiAgICAgICAgICAgIHVzZXJuYW1lLFxyXG4gICAgICAgICAgICBlbWFpbDogZW1haWwgfHwgJydcclxuICAgICAgICAgICAgLy8gXHU0RTBEXHU4RkQ0XHU1NkRFdG9rZW5cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBtZXNzYWdlOiAnXHU2Q0U4XHU1MThDXHU2MjEwXHU1MjlGXHVGRjBDXHU4QkY3XHU3NjdCXHU1RjU1J1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gXHU2NkY0XHU2NUIwXHU2NENEXHU0RjVDXHJcbiAgICAgICAgLy8gXHU5QThDXHU4QkMxdG9rZW5cclxuICAgICAgICBjb25zdCBhdXRoVG9rZW4gPSBoZWFkZXJzWydhdXRob3JpemF0aW9uJ10/LnNwbGl0KCcgJylbMV07XHJcbiAgICAgICAgaWYgKCFhdXRoVG9rZW4gfHwgIXVzZXJzW2F1dGhUb2tlbl0pIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGNvZGU6ICc0MDEnLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiAnXHU2NzJBXHU2Mzg4XHU2NzQzJ1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFx1OUE4Q1x1OEJDMVx1NzUyOFx1NjIzN0lEXHJcbiAgICAgICAgaWYgKCF1c2VySWQpIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGNvZGU6ICc0MDAnLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiAnXHU3RjNBXHU1QzExXHU3NTI4XHU2MjM3SUQnXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gXHU2N0U1XHU2MjdFXHU4OTgxXHU2NkY0XHU2NUIwXHU3Njg0XHU3NTI4XHU2MjM3XHJcbiAgICAgICAgY29uc3QgdXNlclRvVXBkYXRlID0gT2JqZWN0LnZhbHVlcyh1c2VycykuZmluZCh1c2VyID0+IHVzZXIuaWQgPT09IHVzZXJJZCk7XHJcbiAgICAgICAgaWYgKCF1c2VyVG9VcGRhdGUpIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGNvZGU6ICc0MDQnLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiAnXHU3NTI4XHU2MjM3XHU0RTBEXHU1QjU4XHU1NzI4J1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFx1NjZGNFx1NjVCMFx1NzUyOFx1NjIzN1x1NEZFMVx1NjA2RlxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odXNlclRvVXBkYXRlLCB1cGRhdGVEYXRhKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGNvZGU6ICcyMDAnLFxyXG4gICAgICAgICAgZGF0YTogdXNlclRvVXBkYXRlLFxyXG4gICAgICAgICAgbWVzc2FnZTogJ1x1NjZGNFx1NjVCMFx1NjIxMFx1NTI5RidcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5dO1xyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQW1RLE9BQU8sVUFBVTtBQUVwUixJQUFNLFNBQVMsS0FBSztBQUNwQixJQUFNLFNBQVM7QUFBQSxFQUNiLE9BQU87QUFBQSxFQUNQLE9BQU87QUFDVDtBQUVBLElBQU0sUUFBUTtBQUFBLEVBQ1osZUFBZTtBQUFBLElBQ2IsSUFBSTtBQUFBLElBQ0osVUFBVTtBQUFBLElBQ1YsUUFBUTtBQUFBLElBQ1IsTUFBTTtBQUFBLElBQ04sYUFBYSxDQUFDLGVBQWUsZ0JBQWdCO0FBQUEsSUFDN0MsU0FBUztBQUFBLEVBQ1g7QUFBQSxFQUNBLGVBQWU7QUFBQSxJQUNiLElBQUk7QUFBQSxJQUNKLFVBQVU7QUFBQSxJQUNWLFFBQVE7QUFBQSxJQUNSLE1BQU07QUFBQSxJQUNOLGFBQWEsQ0FBQztBQUFBLElBQ2QsU0FBUztBQUFBLEVBQ1g7QUFDRjtBQUVBLElBQU8sZUFBUTtBQUFBLEVBQ2I7QUFBQSxJQUNFLEtBQUs7QUFBQSxJQUNMLFFBQVE7QUFBQSxJQUNSLFVBQVUsQ0FBQyxFQUFFLEtBQUssTUFBTTtBQUN0QixZQUFNLEVBQUUsU0FBUyxJQUFJLE9BQU8sU0FBUyxXQUFXLEtBQUssTUFBTSxJQUFJLElBQUk7QUFDbkUsY0FBUSxJQUFJLGlDQUFpQyxRQUFRO0FBRXJELFlBQU0sUUFBUSxPQUFPLFFBQVE7QUFDN0IsY0FBUSxJQUFJLG9CQUFvQixLQUFLO0FBRXJDLFVBQUksQ0FBQyxPQUFPO0FBQ1YsZUFBTztBQUFBLFVBQ0wsTUFBTTtBQUFBLFVBQ04sU0FBUztBQUFBLFFBQ1g7QUFBQSxNQUNGO0FBRUEsYUFBTztBQUFBLFFBQ0wsTUFBTTtBQUFBLFFBQ04sTUFBTTtBQUFBLFVBQ0o7QUFBQSxVQUNBLFNBQVMsS0FBSyxLQUFLLEtBQUs7QUFBQSxRQUMxQjtBQUFBLFFBQ0EsU0FBUztBQUFBLE1BQ1g7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0E7QUFBQSxJQUNFLEtBQUs7QUFBQSxJQUNMLFFBQVE7QUFBQSxJQUNSLFVBQVUsQ0FBQyxFQUFFLE9BQU8sTUFBTTtBQUN4QixZQUFNLEVBQUUsT0FBTyxJQUFJO0FBQ25CLFlBQU0sV0FBVyxNQUFNLE1BQU07QUFDN0IsY0FBUSxJQUFJLG1CQUFtQixRQUFRO0FBRXZDLFVBQUksQ0FBQyxVQUFVO0FBQ2IsZUFBTztBQUFBLFVBQ0wsTUFBTTtBQUFBLFVBQ04sU0FBUztBQUFBLFFBQ1g7QUFBQSxNQUNGO0FBRUEsYUFBTztBQUFBLFFBQ0wsTUFBTTtBQUFBLFFBQ04sTUFBTTtBQUFBLFFBQ04sU0FBUztBQUFBLE1BQ1g7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUFBLEVBQ0E7QUFBQSxJQUNFLEtBQUs7QUFBQSxJQUNMLFFBQVE7QUFBQSxJQUNSLFVBQVUsTUFBTTtBQUNkLGFBQU87QUFBQSxRQUNMLE1BQU07QUFBQSxRQUNOLFNBQVM7QUFBQSxNQUNYO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxLQUFLO0FBQUEsSUFDTCxRQUFRO0FBQUEsSUFDUixVQUFVLENBQUMsRUFBRSxNQUFNLFFBQVEsTUFBTTtBQUMvQixZQUFNLE9BQU8sT0FBTyxTQUFTLFdBQVcsS0FBSyxNQUFNLElBQUksSUFBSTtBQUMzRCxZQUFNLEVBQUUsWUFBWSxVQUFVLFVBQVUsT0FBTyxRQUFRLEdBQUcsV0FBVyxJQUFJO0FBRXpFLFVBQUksWUFBWTtBQUVkLGNBQU0sZUFBZSxPQUFPLE9BQU8sS0FBSyxFQUFFLEtBQUssVUFBUSxLQUFLLGFBQWEsUUFBUTtBQUNqRixZQUFJLGNBQWM7QUFDaEIsaUJBQU87QUFBQSxZQUNMLE1BQU07QUFBQSxZQUNOLFNBQVM7QUFBQSxVQUNYO0FBQUEsUUFDRjtBQUdBLGNBQU1BLFVBQVMsT0FBTyxHQUFHO0FBQ3pCLGNBQU0sVUFBVTtBQUFBLFVBQ2QsSUFBSUE7QUFBQSxVQUNKO0FBQUEsVUFDQSxPQUFPLFNBQVM7QUFBQSxVQUNoQixRQUFRO0FBQUEsVUFDUixNQUFNO0FBQUEsVUFDTixhQUFhLENBQUMsY0FBYztBQUFBLFVBQzVCLFNBQVM7QUFBQTtBQUFBLFVBQ1QsVUFBVTtBQUFBLFVBQ1YsT0FBTztBQUFBLFVBQ1AsU0FBUztBQUFBLFVBQ1QsYUFBYTtBQUFBLFFBQ2Y7QUFHQSxjQUFNQSxPQUFNLElBQUk7QUFFaEIsZUFBTztBQUFBLFVBQ0wsTUFBTTtBQUFBLFVBQ04sTUFBTTtBQUFBLFlBQ0osSUFBSUE7QUFBQSxZQUNKO0FBQUEsWUFDQSxPQUFPLFNBQVM7QUFBQTtBQUFBLFVBRWxCO0FBQUEsVUFDQSxTQUFTO0FBQUEsUUFDWDtBQUFBLE1BQ0YsT0FBTztBQUdMLGNBQU0sWUFBWSxRQUFRLGVBQWUsR0FBRyxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3hELFlBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxTQUFTLEdBQUc7QUFDbkMsaUJBQU87QUFBQSxZQUNMLE1BQU07QUFBQSxZQUNOLFNBQVM7QUFBQSxVQUNYO0FBQUEsUUFDRjtBQUdBLFlBQUksQ0FBQyxRQUFRO0FBQ1gsaUJBQU87QUFBQSxZQUNMLE1BQU07QUFBQSxZQUNOLFNBQVM7QUFBQSxVQUNYO0FBQUEsUUFDRjtBQUdBLGNBQU0sZUFBZSxPQUFPLE9BQU8sS0FBSyxFQUFFLEtBQUssVUFBUSxLQUFLLE9BQU8sTUFBTTtBQUN6RSxZQUFJLENBQUMsY0FBYztBQUNqQixpQkFBTztBQUFBLFlBQ0wsTUFBTTtBQUFBLFlBQ04sU0FBUztBQUFBLFVBQ1g7QUFBQSxRQUNGO0FBR0EsZUFBTyxPQUFPLGNBQWMsVUFBVTtBQUV0QyxlQUFPO0FBQUEsVUFDTCxNQUFNO0FBQUEsVUFDTixNQUFNO0FBQUEsVUFDTixTQUFTO0FBQUEsUUFDWDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogWyJ1c2VySWQiXQp9Cg==
